﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using CreditoAutorizado.Dados.Entidades;
using CreditoAutorizado.Servico;

namespace CreditoAutorizado
{
    public partial class ListagemClientes : System.Web.UI.Page
    {
        IList<Cliente> _listaClientes;
        private Cliente _clienteTmp;

        protected void Page_Load(object sender, EventArgs e)
        {
            _listaClientes = Fachada.GetInstancia().ObterTodosClientes();
            CarregarGrid(_listaClientes);
        }

        private void CarregarGrid(IList<Cliente> _listaClientes)
        {            
            grvClientes.DataSource = _listaClientes;
            grvClientes.DataBind();
        }

        protected void BtPesquisar_Click(object sender, EventArgs e)
        {           
            CarregarGrid(RealizarPesquisa(txtPesquisa.Text));
        }

        private IList<Cliente> RealizarPesquisa(string texto)
        {
            _listaClientes = Fachada.GetInstancia().ObterClientePorDados(texto);

            return _listaClientes;
        }

        protected void grvClientes_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                e.Row.HorizontalAlign = HorizontalAlign.Center;

                int idCliente = int.Parse(e.Row.Cells[0].Text);

                _clienteTmp = (from c in _listaClientes where c.ClienteId == idCliente select c).Single();

                if (Fachada.GetInstancia().ObterTodosDebitosPorCliente(_clienteTmp).Count > 0)
                {
                    e.Row.ForeColor = System.Drawing.Color.FromArgb(255,0,0);
                }
                else 
                {
                    e.Row.ForeColor = System.Drawing.Color.FromArgb(44, 255, 123);
                }
            }
        }
    }
}